/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.ad.utils;

import java.util.List;

import com.jeesite.common.cache.CacheUtils;
import com.jeesite.common.utils.SpringUtils;
import com.jeesite.modules.ad.entity.AdIndustryType;
import com.jeesite.modules.ad.service.AdIndustryTypeService;

/**
 * 行业工具类
 * 
 * @author jjj
 * @version 2019年05月08日
 */
public class EIUtils {

//	// 用户缓存常量
//	public static final String CACHE_OFFICE_LIST = "officeList";
//	public static final String CACHE_COMPANY_LIST = "companyList";

	// 行业缓存常量
	public static final String CACHE_AD_INDUSTRY_TYPE_ALL_LIST = "AdIndustryTypeAllList";

	/**
	 * 静态内部类，延迟加载，懒汉式，线程安全的单例模式
	 */
	private static final class Static {
		private static AdIndustryTypeService adIndustryTypeService = SpringUtils.getBean(AdIndustryTypeService.class);
	}

	/**
	 * 获取所有行业列表（系统级别缓存）
	 * 
	 * @return
	 */
	public static List<AdIndustryType> getAdIndustryTypeAllList() {
		@SuppressWarnings("unchecked")
		List<AdIndustryType> adIndustryTypeList = (List<AdIndustryType>) CacheUtils
				.get(CACHE_AD_INDUSTRY_TYPE_ALL_LIST);
		if (adIndustryTypeList == null) {
			adIndustryTypeList = Static.adIndustryTypeService.findList(new AdIndustryType());
			CacheUtils.put(CACHE_AD_INDUSTRY_TYPE_ALL_LIST, adIndustryTypeList);
		}
		return adIndustryTypeList;
	}

	/**
	 * 清理区域缓存
	 */
	public static void clearCache() {
		CacheUtils.remove(CACHE_AD_INDUSTRY_TYPE_ALL_LIST);
	}

}
